# coding:utf-8
import os
import re
import requests

def downloadPic(html, keyword):
    pic_url = re.findall('"objURL":"(.*?)",', html, re.S)

    if not os.path.isdir(keyword):
        os.mkdir(keyword)
    os.chdir(keyword)

    i = 0
    print('找到关键词:' + keyword + '的图片，现在开始下载图片...')
    for each in pic_url:
        print('正在下载第' + str(i + 1) + '张图片，图片地址:' + str(each))
        try:
            pic = requests.get(each, timeout=20)
        except requests.exceptions.ConnectionError:
            print("【错误】当前图片无法下载")
            continue

        string = keyword + '_' + str(i) + '.jpg'
        # resolve the problem of encode, make sure that chinese name could be store
        fp = open(string.encode('utf-8'), 'wb') # 二进制方式
        fp.write(pic.content)

        fp.close()
        i += 1

# 主函数
if __name__ == "__main__":
    word = input("Input key word: ")
    url = 'http://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word='+word+'&ct=201326592&v=flip'
    results = requests.get(url)
    downloadPic(results.text, word)
